<!DOCTYPE HTML>
<html>
<head>
<title>RunAs | AutoHotkey</title>
<meta name="description" content="The RunAs command specifies a set of user credentials to use for all subsequent uses of Run and RunWait commands." />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link href="../static/theme.css" rel="stylesheet" type="text/css" />
<script src="../static/content.js" type="text/javascript"></script>
</head>
<body>

<h1>RunAs</h1>

<p>指定在后续所有的 <a href="Run.htm">Run</a> 和 <a href="Run.htm">RunWait</a> 中使用的一组用户凭据.</p>

<pre class="Syntax"><span class="func">RunAs</span> <span class="optional">, User, Password, Domain</span></pre>
<h2>参数</h2>
<dl>

  <dt>User</dt>
  <dd><p>如果省略此参数和其他所有参数, 则关闭 RunAs 的功能, 这样会恢复 <a href="Run.htm">Run</a> 和 <a href="Run.htm">RunWait</a> 到它们默认的行为. 否则, 它为用来创建新进程的用户名.</p></dd>

  <dt>Password</dt>
  <dd><p><em>User</em> 的密码.</p></dd>

  <dt>Domain</dt>
  <dd><p><em>User</em> 域. 要使用本地账户, 请留空此参数. 如果这样不起作用, 请尝试使用 @YourComputerName.</p>
    </dd>

</dl>
<h2>备注</h2>
<p>如果当前脚本运行在用户账户控制环境中, 它启动的程序同样会受到权限限制, 即使使用 RunAs 也一样. 此时可以通过用 <a href="Run.htm#RunAs">Run *RunAs</a> 替代 RunAs 来提升新启动进程的权限.</p>
<p>此命令只通知 AutoHotkey 为后续所有的 <a href="Run.htm">Run</a> 和 <a href="Run.htm">RunWait</a> 使用(或不使用) 替换的用户凭据.</p>
<p>此命令不会改变 <a href="../misc/ErrorLevel.htm">ErrorLevel</a>. 如果指定的 <em>User</em>, <em>Password</em> 或 <em>Domain</em> 无效, 则 <a href="Run.htm">Run</a> 和 <a href="Run.htm">RunWait</a> 会显示错误消息来指出此问题(除非使用了 <a href="Run.htm#UseErrorLevel">UseErrorLevel 选项</a>).</p>
<p>当 RunAs 功能有效时, <a href="Run.htm">Run</a> 和 <a href="Run.htm">RunWait</a> 不能启动文档, URL 或系统动词. 换句话说, 此时只能运行可执行文件.</p>
<p>"Secondary Logon" 服务必须设为手动或自动, 这样此命令才能工作(设为手动时操作系统会在需要时自动启动它).</p>
<h2>相关</h2>
<p><a href="Run.htm">Run</a>, <a href="Run.htm">RunWait</a></p>
<h2>示例</h2>
<pre class="NoIndent">RunAs, Administrator, MyPassword
Run, RegEdit.exe
RunAs  <em>; 恢复为普通行为.</em></pre>

</body>
</html>